import Vue from 'vue'
import App from '../../App'

// 引入sdk
var script = document.createElement('script');
script.src = "https://res.wx.qq.com/open/js/jweixin-1.2.0.js";
document.body.appendChild(script);
var script = document.createElement('script');
script.src = "https://open.work.weixin.qq.com/wwopen/js/jwxwork-1.0.0.js";
document.body.appendChild(script);
const qymethods = (data, type, params) => {
	return new Promise((resolve, reject) => {
		let [appId, timestamp, nonceStr, signature, corpid, agentid] = [data.appId, data.timestamp, data
			.nonceStr, data.signature,
		data.corpid, data.agentid
		];
		// 添加客户
		if (type == 'invoke') {
			wx.agentConfig({
				beta: true,
				debug: true,
				corpid: corpid,
				agentid: agentid,
				timestamp: timestamp,
				nonceStr: nonceStr,
				signature: signature,
				jsApiList: ['invoke', 'navigateToAddCustomer'],
				success: function (res) {
					wx.invoke('navigateToAddCustomer', {},
						function (data) { });
				},
				fail: function (res) {
					if (res.errMsg.indexOf('function not exist') > -1) {
						alert('版本过低请升级')
					}
				}
			});
		}
		// 获取外部联系人id
		if (type == 'getCurExternalContact') {
			wx.agentConfig({
				beta: true,
				debug: true,
				corpid: corpid, // 必填，企业微信的corpid，必须与当前登录的企业一致
				agentid: agentid, // 必填，企业微信的应用id （e.g. 1000247）
				timestamp: timestamp, // 必填，生成签名的时间戳
				nonceStr: nonceStr, // 必填，生成签名的随机串
				signature: signature, // 必填，签名，见 附录-JS-SDK使用权限签名算法
				jsApiList: ['invoke', 'getCurExternalContact'], //必填，传入需要使用的接口名称
				success: function (res) {
					wx.invoke('getCurExternalContact', {},
						function (data) {
							resolve(data)
						});
				},
				fail: function (res) {
					if (res.errMsg.indexOf('function not exist') > -1) {
						alert('版本过低请升级')
					}
				}
			});
		}
		// 获取群聊信息
		if (type == 'getCurExternalChat') {
			wx.agentConfig({
				beta: true,
				debug: true,
				corpid: corpid, // 必填，企业微信的corpid，必须与当前登录的企业一致
				agentid: agentid, // 必填，企业微信的应用id （e.g. 1000247）
				timestamp: timestamp, // 必填，生成签名的时间戳
				nonceStr: nonceStr, // 必填，生成签名的随机串
				signature: signature, // 必填，签名，见 附录-JS-SDK使用权限签名算法
				jsApiList: ['invoke', 'getCurExternalChat'], //必填，传入需要使用的接口名称
				success: function (res) {
					wx.invoke('getCurExternalChat', {},
						function (data) {
							resolve(data)
						});
				},
				fail: function (res) {
					if (res.errMsg.indexOf('function not exist') > -1) {
						alert('版本过低请升级')
					}
				}
			});
		}

		// 打开客户的页面
		if (type == 'openUserProfile') {
			wx.agentConfig({
				beta: true,
				debug: true,
				corpid: corpid, // 必填，企业微信的corpid，必须与当前登录的企业一致
				agentid: agentid, // 必填，企业微信的应用id （e.g. 1000247）
				timestamp: timestamp, // 必填，生成签名的时间戳
				nonceStr: nonceStr, // 必填，生成签名的随机串
				signature: signature, // 必填，签名，见 附录-JS-SDK使用权限签名算法
				jsApiList: ['invoke', 'openUserProfile'], //必填，传入需要使用的接口名称
				success: function (res) {
					wx.invoke('openUserProfile', params, function (res) {
						if (res.err_msg != "openUserProfile:ok") {
							//错误处理
						}
					});
				},
				fail: function (res) {
					if (res.errMsg.indexOf('function not exist') > -1) {
						alert('版本过低请升级')
					}
				}
			});
		}

		// 打开客户的页面
		if (type == 'setClipboardData') {
			wx.agentConfig({
				beta: true,
				debug: true,
				corpid: corpid, // 必填，企业微信的corpid，必须与当前登录的企业一致
				agentid: agentid, // 必填，企业微信的应用id （e.g. 1000247）
				timestamp: timestamp, // 必填，生成签名的时间戳
				nonceStr: nonceStr, // 必填，生成签名的随机串
				signature: signature, // 必填，签名，见 附录-JS-SDK使用权限签名算法
				jsApiList: ['invoke', 'setClipboardData'], //必填，传入需要使用的接口名称
				success: function (res) {
					wx.setClipboardData({
						data: params.data,    // 设置的
						success: function (res) {
						}
					})
				},
				fail: function (res) {
					if (res.errMsg.indexOf('function not exist') > -1) {
						alert('版本过低请升级')
					}
				}
			});
		}

		// 关闭窗口
		if (type == 'closeWindow') {
			wx.closeWindow();
		}

	})
}
Vue.prototype.$wxMethod = {
	qymethods
};
